1. Field of the Invention
The present invention relates to integrated circuit technology and to integrated circuit use in data communications technology. More particularly, the present invention relates to data communications technology utilizing packet-type signaling systems. Applications of the present invention will be particularly suited to data communications protocols such as 100BASE-T4 Ethernet.
2. The Prior Art
Many modern data communications systems utilize data packet technology. Packet-based systems present particular challenges for designers of methods which can detect and correct for erroneous conditions. In packet-based data communications, data signals or symbols are collected into groups rather than being transmitted continuously. These groups are commonly known as packets or frames. Data transmitted and received in a packet-based system will be sent and received as a series of packets rather than as a continuous signal. This obviates the need to establish a direct and continuous connection between the transmitter and receiver, allowing greater flexibility in network design.
In order to preserve data addressing and integrity, as well as to allow data communications receivers to implement functions such as alignment and recovery, it is common practice in the art to encapsulate data being sent in a packet form: for a given group of data, signals or symbols designating the start of a packet are added before the data signals or symbols; signals or symbols designating the end of a packet are added after the data signals or symbols. Therefore, a packet will typically include data signals or symbols "surrounded" by non-data signals or symbols. Packets, then, will be comprised of both data components or elements and non-data components or elements.
The pre-data packet components or elements (comprised of non-data signals or symbols) are typically used (among other functions) to designate the presence of the following data, and are commonly known as "preambles". Those of ordinary skill in the art will recognize that the term "preamble" used in this context is intended to be inclusive; as such, it includes other common terms for pre-data packet components or elements, such as: start-of-stream delimiter (SSD), start-of-frame delimiter (SFD), and start-of-stream (SOS), for example. End of packet delimiters are commonly referred to as EPDs or EOPs (end-of-packet). The inventive concepts herein, as will be understood by those of ordinary skill in the art, are equally effective and applicable to preambles (pre-data packet components or elements) of any length or type.
Accordingly, the packet-type geometry may be designated: EQU &lt;PREAMBLE&gt;&lt;DATA&gt;&lt;EPD&gt;
It is well-known to those of ordinary skill in the art that both the preamble and the EPD may be used to carry important non-data information about the packet, such as timing, length, and error status, among others. Thus, a key function of receiving devices is the reception and use of these non-data packet elements.
It is also well-known to those of ordinary skill in the art that communication protocols define the form and use of preambles and EPDs; this allows a wide variety of communications equipment to communicate effectively. One of the major protocols used in the current development of Fast Ethernet technology is designated 100BASE-T4 Ethernet (or T4), defined by a Supplement to IEEE Standard 802.3u-1995, hereby incorporated herein by reference as if set forth fully herein. The T4 protocol calls for the transmission of data at an effective rate of 100 Mbits/sec. In order to maintain reliability of transmission over the conventional twisted pair medium, the 100BASE-T4 protocol requires that the transmission and reception be implemented over three pairs of twisted pair wires; this reduces the data transmission rate to one-third of 100 Mbits/sec, or approximately 33 MHz. The transmission rate is still further reduced by encoding the data according to the 8B6T protocol shown in FIG. 1. The 8B6T coding scheme maps data octets (8 bits, or 1 byte) of binary (1,0) data into ternary symbols (+,0,-). Each byte of data is mapped to a pattern of six ternary symbols, called a 6T code group. The 6T code groups are fanned out to the three independent serial transmission channels. The ternary symbol transmission rate, then, is six-eighths (6/8) of the channel data rate (about 33 Mb/s), or precisely 25 MHz. As will be apparent to those of ordinary skill in the art, the reduction in symbolic rate greatly improves potential data communications reliability over the multiple twisted pair medium.
FIG. 2 depicts a diagram of a type 100BASE-T4 physical layer device (PHY) relationship to the ISO Open Systems Interconnection (OSI) Reference Model and the IEEE 802.3 CSMA/CD LAN Model as described by Supplement to IEEE Standard 802.3u-1995 referred to above. In the diagram, the "MEDIUM" refers to the physical medium over which data is transmitted, in this case, four twisted pairs of wires. The "MDI" is a Medium Dependent Interface--an interface between the specific medium used (MEDIUM) and the Physical Layer Device (PHY). The PHY may include a Physical Medium Attachment (PMA), a Physical Coding Sublayer (PCS) and a Media Independent Interface (MII) along with an optional auto-negotiation (AUTONEG) function.
Physical level communication between PHY entities in a T4 network takes place over four twisted pairs. FIG. 3 shows a typical T4 connection between a first Node "A" or PHY entity and a second Node "B" or PHY entity of a T4 network wired in the optional repeater configuration with twisted pair crossovers as shown. Referring to FIG. 3, the four twisted pairs include two pairs used for bidirectional communications and designated at Node "A" as BI_D3 and BI_D4 as well as a pair used exclusively for A to B communication (TX_D1) and a pair used exclusively for B to A communication (RX_D2).
The Physical Coding Sublayer (PCS) serves the function of coupling an MII to a PMA as shown in FIG. 2. The PCS Transmit function accepts data nibbles (4-bit data segments) from the MII. The PCS Transmit function encodes these nibbles using an 8B6T coding scheme and passes the resulting ternary symbols to the PMA. In the reverse direction, the PMA conveys received ternary symbols to the PCS Receive function. The PCS Receive function decodes them into octets, and then passes the octets one nibble at a time up to the MII. The PCS also contains a PCS Carrier Sense function, a PCS Error Sense function, a PCS Collision Presence function, and a management interface.
FIG. 4 shows in block diagram form the division of responsibilities between the PCS, PMA and MDI layers. The MDI is shown at the right of FIG. 4 and the MII is shown at the left of FIG. 4.
Ethernet transceivers designed to the 100BASE-T4 standard will necessarily include means for 8B6T encoding/decoding and recovery of the clock-data channels. The data will be encoded, fanned into the three transmission channels (3 of the 4 twisted pairs), and transmitted across the twisted pairs. At the receiving end, the data will be recovered from the three received channels, decoded, and sent into the receiving device.
In packet-based data communications systems, signals do not travel in continuous streams. Rather, data travels in small groups (of from about 64 to about 1500 bytes in the 100BASE-T4 Ethernet system), called packets or frames. Packets, then, are the basic unit of such data communications systems; all encoding, decoding and alignment functions are based on the packet geometry.
In order to delineate and signal the arrival and departure of packets, one or more preamble fields and closing fields are typically appended to each packet. The preamble and closing fields have known characteristics which can signal the receiving devices. As is known to those of ordinary skill in the art, it is through the reception of these signals that the decoding and alignment functions can be effectively implemented.
The T4 protocol defines the packet preambles to be used in a 100BASE-T4 system, and their order of usage. These frame elements are denoted as SOSA, SOSB, P3, and P4. SOSA is defined as the succession of six ternary symbols {+1, -1, +1, -1, +1, -1} (also denoted "+-+-+-"), which is the result of the 8B6T encoding of the constant "sosa" (start of signal A). SOSB is defined as the succession of six ternary symbols {+1, -1, +1, -1, -1, +1} (or "+-+--+"), which is the result of 8B6T encoding of the constant "sosb" (start of signal B). P3 is defined as the succession of two ternary symbols {+1, -1} (or "+-"). P4 is the succession of four ternary symbols {+1, -1, +1, -1} (or "+-+-").
FIG. 5 shows the 100BASE-T4 standard usage for these preamble elements. The RX_D2 receive pair preamble contains (in order of reception) two successive SOSA frame elements and an SOSB frame element. The BI_D4 receive pair preamble contains (in order of reception) a P3 frame element, two successive SOSA frame elements, and an SOSB frame element. The BI_D3 receive pair preamble contains (in order of reception) a P4 frame element, an SOSA frame element, and an SOSB frame element.
It is well known to those of ordinary skill in the art that the SOSB frame element is the key element for a 100BASE-T4 receiver. It is the SOSB frame element that signifies the transition between preamble and data; thus, it is the unique point at which the data streams can be aligned and/or decoded.
Those of ordinary skill in the art recognize that speed of data throughput is critical to packet-based data communications systems. Systemic features which unnecessarily take time to perform degrade overall systems performance and should be eliminated where feasible.
A typical packet-based data communications system comprises any number of elements, but a common element which many such systems include is the star topology repeater or hub.
FIG. 6 depicts a simplified version of such a "hub" in a star topology for a local area network (LAN). Many LANs consist of nothing more than a series of devices connected to one another through such a hub. The simple network of FIG. 6 includes a hub repeater at the center of a star topology and connected to nodes A, B, C and D of the network.
Repeaters (hubs) for use in T4 networks are defined in Clause 27 "Repeater for 100 Mb/s baseband networks" of Supplement to IEEE Standard 802.3u-1995, referred to above. The purpose of the repeater is to provide a simple, inexpensive, and flexible means of coupling two or more segments of a LAN.
FIG. 7 depicts the 100 BASE-T4 repeater set relationship to the OSI reference model for a Clause 27 repeater under IEEE 802.3. In essence the repeater function may communicate with the respective PCS elements in PMA elements of the PHY elements of two or more network elements. For a "dumb" repeater which simply repeats what it is told, it is best to have the repeater communicate directly with the PMA and avoid data translation tasks to convert PMA signals to PCS signals and vice versa. Accordingly, the fastest "dumb" repeaters communicate directly between PMA elements of network devices.
FIG. 8 depicts in block diagram form the operative elements connecting the Medium Dependent Interface (MDI) with the PMA service interface of a 100 BASE-T4 device. As can be seen in FIG. 8, incoming signals on the RX_D2 receive pair are passed to a PMA carrier sense function 14 which detects the presence of a packet signal and, upon such detection, asserts the "carrier_status" signal. When carrier_status is set to "ON", this means that a packet is in the process of being received--when it is "OFF", this means that the system is between the receipt of packets.
In practice, manufacturers of Ethernet products which implement the specification set forth in the Supplement to IEEE Standard 802.3u-1995 do so by manufacturing semiconductor devices or chips which implement functions such as a media interface adapter, a repeater, etc. One purpose of the IEEE Standard is to clarify and specify the signals that such devices should generate so that they will work together.
In circuits which are integrated onto a semiconductor chip, the number of connectors to off-chip circuits, sometimes referred to as "pins", is often limited. The number of pins may be limited due to the size of the chip, due to the added expense of packaging the chip so as to have an increased number of pins, or due to a requirement for downward compatibility with a previous product. In each of these cases, it is desirable to provide the same functions using fewer pins, or to provide more functions using the same number of pins.
In the prior art, it is necessary to devote a separate pin of both a media interface adapter chip and a repeater chip to communication of the carrier_status signal. In the Clause 27 repeater this signal is referred to as "scarrier_present (X)" referring to a signal received from the PMA of a device on port "X" of the repeater over a specific electrical connection other than the PMA-Repeater Data Interface 10 (FIG. 7). A purpose of this signal is to give the repeater client the earliest reliable indication of activity on the underlying medium so that (1) the circuitry can "wake up" so as to be fully functional by the time the data portion of the packet is received and (2) the repeater can know that the PMA associated with a particular port is active and thus signal the other ports of this condition so that activity on these other ports does not start until the packet has been handled--this avoids collisions during the repeat function of re-sending the signal received on port x to the other ports of the repeater.
The 100BASE-T4 protocol requires that the receiver function pass the SOSB frame element only when the data streams are fully aligned. Thus, the data streams will be received at the interface only after the SOSB frame element is: (1) detected by the receiver function, indicating alignment; and, (2) sent to the interface by the receiver function.
As will be known to those of ordinary skill in the art, an important element of modern high-speed data communications is reducing the amount of time required to implement non-data functions such as alignment and decoding. Therefore, those of ordinary skill in the design of Ethernet data communication devices are acutely aware of the potential for time "lag" between data packets. In the 100BASE-T4 system, the time it takes to transmit/receive one bit of data, called bit time, is 10 ns. Since it takes six (6) ternary symbols to send a SOSB, then the total time required to send an SOSB is 24 bit time, or 240 ns.
In the prior art, the receive function waits until the SOSB is detected before sending the SOSB to the interface. Thus, the data cannot be sent until at least 240 ns after the SOSB is detected by the receiver. While this is acceptable when the carrier_status signal is available, it is unacceptable in the absence of the carrier_status signal.
Accordingly, under prior art schemes, if the carrier_status signal is not passed to the repeater, by the time that the &lt;DATA&gt; portion of the packet arrives at the repeater over the PMA-Repeater Data Interface 10, the repeater will likely not be sufficiently "awake" and the other ports of the repeater may be active causing unnecessary data collisions and unnecessary slowing of the operation of the network under busy conditions. It is thus desirable to have an alternative method of signalling the repeater that one of its ports is active at the earliest opportunity without depending on the carrier_status signal.